Location: /
The Flask Debug Toolbar has intercepted a redirect to the above URL for
debug viewing purposes. You can click the above link to continue with the
redirect as normal. If you'd like to disable this feature, you can set the
config variable DEBUG_TB_INTERCEPT_REDIRECTS
to False
.
Installation paths relative to:
/opt/osp/venv/lib/python3.9/site-packages
Package | Version | Installed Path |
---|---|---|
aiohttp | 3.8.1 | |
aiosignal | 1.3.1 | |
alembic | 1.8.0 | |
amqp | 5.1.1 | |
aniso8601 | 7.0.0 | |
async-timeout | 4.0.3 | |
attrs | 23.1.0 | |
Authlib | 0.14.1 | |
Babel | 2.9.1 | |
bidict | 0.21.4 | |
billiard | 3.6.4.0 | |
bleach | 3.3.0 | |
blinker | 1.6.2 | |
cachelib | 0.9.0 | |
celery | 5.2.7 | |
certifi | 2023.7.22 | |
cffi | 1.15.1 | |
cfgv | 3.4.0 | |
charset-normalizer | 2.1.1 | |
click | 8.1.3 | |
click-didyoumean | 0.3.0 | |
click-plugins | 1.1.1 | |
click-repl | 0.3.0 | |
cryptography | 41.0.3 | |
Deprecated | 1.2.14 | |
distlib | 0.3.7 | |
dnspython | 2.4.2 | |
email-validator | 1.1.3 | |
filelock | 3.12.2 | |
Flask | 2.1.2 | |
Flask-Babel | 2.0.0 | |
Flask-Caching | 2.0.2 | |
Flask-Cors | 3.0.10 | |
Flask-DebugToolbar | 0.13.1 | |
Flask-Limiter | 1.1.0 | |
Flask-Login | 0.6.2 | |
Flask-Mail | 0.9.1 | |
Flask-Markdown | 0.3 | |
Flask-Migrate | 3.1.0 | |
Flask-Principal | 0.4.0 | |
flask-restx | 1.0.5 | |
Flask-Reuploaded | 1.3.0 | |
Flask-Script | 2.0.6 | |
Flask-Security-Too | 5.1.0 | |
Flask-Session | 0.4.0 | |
Flask-SocketIO | 5.2.0 | |
Flask-SQLAlchemy | 2.5.1 | |
Flask-WTF | 1.0.1 | |
frozenlist | 1.4.0 | |
future | 0.18.3 | |
gevent | 22.10.2 | |
gevent-websocket | 0.10.1 | |
gitdb2 | 2.0.5 | |
GitPython | 2.1.11 | |
greenlet | 2.0.2 | |
gunicorn | 20.1.0 | |
identify | 2.5.27 | |
idna | 3.4 | |
importlib-metadata | 6.8.0 | |
importlib-resources | 6.0.1 | |
itsdangerous | 2.1.2 | |
Jinja2 | 3.1.2 | |
jsonschema | 4.19.0 | |
jsonschema-specifications | 2023.7.1 | |
kombu | 5.3.1 | |
limits | 3.5.0 | |
Mako | 1.0.13 | |
Markdown | 3.4.4 | |
MarkupSafe | 2.1.1 | |
multidict | 6.0.4 | |
nodeenv | 1.8.0 | |
packaging | 23.1 | |
passlib | 1.7.4 | |
pilkit | 2.0 | |
Pillow | 9.4.0 | |
pip | 20.3.4 | |
pkg-resources | 0.0.0 | |
platformdirs | 3.10.0 | |
pre-commit | 2.19.0 | |
prompt-toolkit | 3.0.39 | |
psutil | 5.7.0 | |
psycopg2-binary | 2.8.5 | |
pycparser | 2.21 | |
PyMySQL | 0.9.3 | |
pypng | 0.20220715.0 | |
PyQRCode | 1.2.1 | |
python-dateutil | 2.8.0 | |
python-dotenv | 0.20.0 | |
python-editor | 1.0.4 | |
python-engineio | 4.3.1 | |
python-socketio | 5.0.2 | |
pytz | 2022.1 | |
PyYAML | 6.0.1 | |
qrcode | 7.4.2 | |
redis | 4.3.3 | |
referencing | 0.30.2 | |
requests | 2.28.2 | |
rpds-py | 0.9.2 | |
sentry-sdk | 1.12.1 | |
setuptools | 44.1.1 | |
six | 1.16.0 | |
smmap2 | 2.0.5 | |
speaklater | 1.3 | |
SQLAlchemy | 1.4.37 | |
toml | 0.10.2 | |
typing-extensions | 4.7.1 | |
urllib3 | 1.26.16 | |
vine | 5.0.0 | |
virtualenv | 20.24.3 | |
wcwidth | 0.2.6 | |
webencodings | 0.5.1 | |
Werkzeug | 2.1.2 | |
wheel | 0.41.1 | |
wrapt | 1.15.0 | |
WTForms | 3.0.1 | |
xmltodict | 0.13.0 | |
yarl | 1.9.2 | |
zipp | 3.16.2 | |
zope.event | 5.0 | |
zope.interface | 6.0 |
Resource | Value |
---|---|
User CPU time | 13.711 msec |
System CPU time | 0.832 msec |
Total CPU time | 14.543 msec |
Elapsed time | 40.954 msec |
Context switches | 12 voluntary, 0 involuntary |
Key | Value |
---|---|
HTTP_ACCEPT | */* |
HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
HTTP_CONNECTION | close |
HTTP_HOST | bufr.zone:443 |
HTTP_REFERER | http://bufr.zone/profile/'%20+%20userResults[iu][1]%20+%20' |
HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
QUERY_STRING | |
REMOTE_ADDR | 18.219.11.70 |
REQUEST_METHOD | GET |
SCRIPT_NAME | |
SERVER_NAME | server |
SERVER_PORT | 5000 |
SERVER_PROTOCOL | HTTP/1.0 |
SERVER_SOFTWARE | gevent/22.10.2 gunicorn/20.1.0 |
View Function | args | kwargs |
---|---|---|
blueprints.profile.profile_view_page | [] | username=' + userResults[iu][1] + ' |
Variable | Value |
---|
Variable | Value |
---|---|
'_permanent' | True |
'_fresh' | False |
'guestUUID' | '0ec99406-11bc-4b8f-b978-6211439a1301' |
'_flashes' | [('error', 'Invalid User')] |
Variable | Value |
---|
Variable | Value |
---|
Key | Value |
---|---|
APPLICATION_ROOT | '/' |
BABEL_DEFAULT_LOCALE | 'en' |
BABEL_DEFAULT_TIMEZONE | 'UTC' |
BABEL_DOMAIN | 'messages' |
broker_url | 'redis://localhost:6379' |
DEBUG | True |
DEBUG_TB_ENABLED | True |
DEBUG_TB_HOSTS | () |
DEBUG_TB_INTERCEPT_REDIRECTS | True |
DEBUG_TB_PANELS | ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel') |
ENV | 'production' |
EXPLAIN_TEMPLATE_LOADING | False |
JSON_AS_ASCII | True |
JSON_SORT_KEYS | True |
JSONIFY_MIMETYPE | 'application/json' |
JSONIFY_PRETTYPRINT_REGULAR | False |
MAX_CONTENT_LENGTH | 4000000000 |
MAX_COOKIE_SIZE | 4093 |
MYSQL_DATABASE_CHARSET | 'utf8' |
PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
PREFERRED_URL_SCHEME | 'http' |
PRESERVE_CONTEXT_ON_EXCEPTION | None |
PROPAGATE_EXCEPTIONS | None |
RATELIMIT_ENABLED | True |
RATELIMIT_HEADER_LIMIT | 'X-RateLimit-Limit' |
RATELIMIT_HEADER_REMAINING | 'X-RateLimit-Remaining' |
RATELIMIT_HEADER_RESET | 'X-RateLimit-Reset' |
RATELIMIT_HEADER_RETRY_AFTER | 'Retry-After' |
RATELIMIT_HEADERS_ENABLED | False |
RATELIMIT_STORAGE_URL | 'redis://localhost:6379' |
RATELIMIT_STRATEGY | 'fixed-window' |
RATELIMIT_SWALLOW_ERRORS | False |
RECAPTCHA_PRIVATE_KEY | '6Ld9JRgpAAAAAJVw-DK1Z-S7jU2CJRDtK2-m3Qn8' |
RECAPTCHA_PUBLIC_KEY | '6Ld9JRgpAAAAAPTS2uxyTt1dtoolXN6DN6zpG13k' |
RESTX_INCLUDE_ALL_MODELS | False |
RESTX_MASK_HEADER | 'X-Fields' |
RESTX_MASK_SWAGGER | True |
result_backend | 'redis://localhost:6379' |
SECRET_KEY | 'BjUwLD^uh3kdvpeEJwUS25g9%5nDdkD^u9$4YLR5o6abvxxmnSph&sR$!vjSUt$SBvmfe4eMUsNkL8fX#e*aZ3FMWHe!YJo%Vd&#N67qnKUYe6mnj9tMg4QJxwCS$' |
SECURITY_API_ENABLED_METHODS | ['session', 'token'] |
SECURITY_AUTO_LOGIN_AFTER_CONFIRM | True |
SECURITY_BACKWARDS_COMPAT_AUTH_TOKEN | False |
SECURITY_BACKWARDS_COMPAT_UNAUTHN | False |
SECURITY_BLUEPRINT_NAME | 'security' |
SECURITY_CHANGABLE | True |
SECURITY_CHANGE_PASSWORD_TEMPLATE | 'security/change_password.html' |
SECURITY_CHANGE_SALT | 'change-salt' |
SECURITY_CHANGE_URL | '/change' |
SECURITY_CHANGEABLE | False |
SECURITY_CLI_ROLES_NAME | 'roles' |
SECURITY_CLI_USERS_NAME | 'users' |
SECURITY_CONFIRM_EMAIL_WITHIN | '5 days' |
SECURITY_CONFIRM_ERROR_VIEW | None |
SECURITY_CONFIRM_SALT | 'confirm-salt' |
SECURITY_CONFIRM_URL | '/confirm' |
SECURITY_CONFIRMABLE | True |
SECURITY_CSRF_COOKIE | {'samesite': 'Strict', 'httponly': False, 'secure': False} |
SECURITY_CSRF_COOKIE_NAME | None |
SECURITY_CSRF_COOKIE_REFRESH_EACH_REQUEST | False |
SECURITY_CSRF_HEADER | 'X-XSRF-Token' |
SECURITY_CSRF_IGNORE_UNAUTH_ENDPOINTS | False |
SECURITY_CSRF_PROTECT_MECHANISMS | ('basic', 'session', 'token') |
SECURITY_DATETIME_FACTORY | <built-in method utcnow of type object at 0x929f20> |
SECURITY_DEFAULT_HTTP_AUTH_REALM | 'Login Required' |
SECURITY_DEFAULT_REMEMBER_ME | False |
SECURITY_DEPRECATED_HASHING_SCHEMES | ['hex_md5'] |
SECURITY_DEPRECATED_PASSWORD_SCHEMES | ['auto'] |
SECURITY_EMAIL_HTML | True |
SECURITY_EMAIL_PLAINTEXT | True |
SECURITY_EMAIL_SENDER | 'no-reply@localhost' |
SECURITY_EMAIL_SUBJECT_CONFIRM | 'Please confirm your email' |
SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE | 'Your password has been changed' |
SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE | 'Your password has been reset' |
SECURITY_EMAIL_SUBJECT_PASSWORD_RESET | 'Password reset instructions' |
SECURITY_EMAIL_SUBJECT_PASSWORDLESS | 'Login instructions' |
SECURITY_EMAIL_SUBJECT_REGISTER | 'Welcome' |
SECURITY_EMAIL_SUBJECT_TWO_FACTOR | 'Two-factor Login' |
SECURITY_EMAIL_SUBJECT_TWO_FACTOR_RESCUE | 'Two-factor Rescue' |
SECURITY_EMAIL_VALIDATOR_ARGS | None |
SECURITY_FLASH_MESSAGES | True |
SECURITY_FORGOT_PASSWORD_TEMPLATE | 'security/forgot_password.html' |
SECURITY_FRESHNESS | datetime.timedelta(days=1) |
SECURITY_FRESHNESS_GRACE_PERIOD | datetime.timedelta(seconds=3600) |
SECURITY_HASHING_SCHEMES | ['sha256_crypt', 'hex_md5'] |
SECURITY_I18N_DIRNAME | '/opt/osp/venv/lib/python3.9/site-packages/flask_security/translations' |
SECURITY_I18N_DOMAIN | 'flask_security' |
SECURITY_JOIN_USER_ROLES | True |
SECURITY_LOGIN_ERROR_VIEW | None |
SECURITY_LOGIN_SALT | 'login-salt' |
SECURITY_LOGIN_URL | '/login' |
SECURITY_LOGIN_USER_TEMPLATE | 'security/login_user.html' |
SECURITY_LOGIN_WITHIN | '1 days' |
SECURITY_LOGIN_WITHOUT_CONFIRMATION | False |
SECURITY_LOGOUT_METHODS | ['GET', 'POST'] |
SECURITY_LOGOUT_URL | '/logout' |
SECURITY_MSG_ALREADY_CONFIRMED | ('Your email has already been confirmed.', 'info') |
SECURITY_MSG_ANONYMOUS_USER_REQUIRED | ('You can only access this endpoint when not logged in.', 'error') |
SECURITY_MSG_API_ERROR | ('Input not appropriate for requested API', 'error') |
SECURITY_MSG_CODE_HAS_BEEN_SENT | ('Code has been sent.', 'info') |
SECURITY_MSG_CONFIRM_REGISTRATION | ('Thank you. Confirmation instructions have been sent to %(email)s.', 'success') |
SECURITY_MSG_CONFIRMATION_EXPIRED | ('You did not confirm your email within %(within)s. New instructions to confirm your email have been sent to %(email)s.', 'error') |
SECURITY_MSG_CONFIRMATION_REQUEST | ('Confirmation instructions have been sent to %(email)s.', 'info') |
SECURITY_MSG_CONFIRMATION_REQUIRED | ('Email requires confirmation.', 'error') |
SECURITY_MSG_DISABLED_ACCOUNT | ('Account Disabled', 'error') |
SECURITY_MSG_EMAIL_ALREADY_ASSOCIATED | ('Username or Email Already Associated with an Account', 'error') |
SECURITY_MSG_EMAIL_CONFIRMED | ('Thank you. Your email has been confirmed.', 'success') |
SECURITY_MSG_EMAIL_NOT_PROVIDED | ('Email not provided', 'error') |
SECURITY_MSG_FAILED_TO_SEND_CODE | ('Failed to send code. Please try again later', 'error') |
SECURITY_MSG_FORGOT_PASSWORD | ('Forgot password?', 'info') |
SECURITY_MSG_GENERIC_AUTHN_FAILED | ('Authentication failed - identity or password/passcode invalid', 'error') |
SECURITY_MSG_GENERIC_RECOVERY | ('If that email address is in our system, you will receive an email describing how to reset your password.', 'info') |
SECURITY_MSG_GENERIC_US_SIGNIN | ('If that identity is in our system, you were sent a code.', 'info') |
SECURITY_MSG_IDENTITY_ALREADY_ASSOCIATED | ("Identity attribute '%(attr)s' with value '%(value)s' is already associated with an account.", 'error') |
SECURITY_MSG_IDENTITY_NOT_REGISTERED | ('Identity %(id)s not registered', 'error') |
SECURITY_MSG_INVALID_CODE | ('Invalid code', 'error') |
SECURITY_MSG_INVALID_CONFIRMATION_TOKEN | ('Invalid confirmation token.', 'error') |
SECURITY_MSG_INVALID_EMAIL_ADDRESS | ('Invalid Username or Password', 'error') |
SECURITY_MSG_INVALID_LOGIN_TOKEN | ('Invalid login token.', 'error') |
SECURITY_MSG_INVALID_PASSWORD | ('Invalid Username or Password', 'error') |
SECURITY_MSG_INVALID_PASSWORD_CODE | ('Password or code submitted is not valid', 'error') |
SECURITY_MSG_INVALID_RECOVERY_CODE | ('Recovery code invalid', 'error') |
SECURITY_MSG_INVALID_REDIRECT | ('Redirections outside the domain are forbidden', 'error') |
SECURITY_MSG_INVALID_RESET_PASSWORD_TOKEN | ('Invalid reset password token.', 'error') |
SECURITY_MSG_LOGIN | ('Please log in to access this page.', 'info') |
SECURITY_MSG_LOGIN_EMAIL_SENT | ('Instructions to login have been sent to %(email)s.', 'success') |
SECURITY_MSG_LOGIN_EXPIRED | ('You did not login within %(within)s. New instructions to login have been sent to %(email)s.', 'error') |
SECURITY_MSG_NO_RECOVERY_CODES_SETUP | ('No recovery codes generated yet', 'info') |
SECURITY_MSG_OAUTH_HANDSHAKE_ERROR | ('An error occurred while communicating with the Oauth provider. Please try again.', 'error') |
SECURITY_MSG_PASSWORD_BREACHED | ('Password on breached list', 'error') |
SECURITY_MSG_PASSWORD_BREACHED_SITE_ERROR | ('Failed to contact breached passwords site', 'error') |
SECURITY_MSG_PASSWORD_CHANGE | ('You successfully changed your password.', 'success') |
SECURITY_MSG_PASSWORD_INVALID_LENGTH | ('Password must be at least %(length)s characters', 'error') |
SECURITY_MSG_PASSWORD_IS_THE_SAME | ('Your new password must be different than your previous password.', 'error') |
SECURITY_MSG_PASSWORD_MISMATCH | ('Password does not match', 'error') |
SECURITY_MSG_PASSWORD_NOT_PROVIDED | ('Password not provided', 'error') |
SECURITY_MSG_PASSWORD_RESET | ('You successfully reset your password and you have been logged in automatically.', 'success') |
SECURITY_MSG_PASSWORD_RESET_EXPIRED | ('You did not reset your password within %(within)s. New instructions have been sent to %(email)s.', 'error') |
SECURITY_MSG_PASSWORD_RESET_REQUEST | ('Instructions to reset your password have been sent to %(email)s.', 'info') |
SECURITY_MSG_PASSWORD_TOO_SIMPLE | ('Password not complex enough', 'error') |
SECURITY_MSG_PASSWORDLESS_LOGIN_SUCCESSFUL | ('You have successfully logged in.', 'success') |
SECURITY_MSG_PHONE_INVALID | ('Phone number not valid e.g. missing country code', 'error') |
SECURITY_MSG_REAUTHENTICATION_REQUIRED | ('You must re-authenticate to access this endpoint', 'error') |
SECURITY_MSG_REAUTHENTICATION_SUCCESSFUL | ('Reauthentication successful', 'info') |
SECURITY_MSG_REFRESH | ('Please reauthenticate to access this page.', 'info') |
SECURITY_MSG_RETYPE_PASSWORD_MISMATCH | ('Passwords do not match', 'error') |
SECURITY_MSG_TWO_FACTOR_CHANGE_METHOD_SUCCESSFUL | ('You successfully changed your two-factor method.', 'success') |
SECURITY_MSG_TWO_FACTOR_DISABLED | ('You successfully disabled two factor authorization.', 'success') |
SECURITY_MSG_TWO_FACTOR_INVALID_TOKEN | ('Invalid code', 'error') |
SECURITY_MSG_TWO_FACTOR_LOGIN_SUCCESSFUL | ('Your code has been confirmed', 'success') |
SECURITY_MSG_TWO_FACTOR_METHOD_NOT_AVAILABLE | ('Marked method is not valid', 'error') |
SECURITY_MSG_TWO_FACTOR_PERMISSION_DENIED | ('You currently do not have permissions to access this page', 'error') |
SECURITY_MSG_UNAUTHENTICATED | ('You are not authenticated. Please supply the correct credentials.', 'error') |
SECURITY_MSG_UNAUTHORIZED | ('You do not have permission to view this resource.', 'error') |
SECURITY_MSG_US_METHOD_NOT_AVAILABLE | ('Requested method is not valid', 'error') |
SECURITY_MSG_US_SETUP_EXPIRED | ('Setup must be completed within %(within)s. Please start over.', 'error') |
SECURITY_MSG_US_SETUP_SUCCESSFUL | ('Unified sign in setup successful', 'info') |
SECURITY_MSG_US_SPECIFY_IDENTITY | ('You must specify a valid identity to sign in', 'error') |
SECURITY_MSG_USE_CODE | ('Use this code to sign in: %(code)s.', 'info') |
SECURITY_MSG_USER_DOES_NOT_EXIST | ('Invalid Username or Password', 'error') |
SECURITY_MSG_USERNAME_ALREADY_ASSOCIATED | ('%(username)s is already associated with an account.', 'error') |
SECURITY_MSG_USERNAME_DISALLOWED_CHARACTERS | ('Username can contain only letters and numbers', 'error') |
SECURITY_MSG_USERNAME_ILLEGAL_CHARACTERS | ('Username contains illegal characters', 'error') |
SECURITY_MSG_USERNAME_INVALID_LENGTH | ('Username must be at least %(min)d characters and less than %(max)d characters', 'error') |
SECURITY_MSG_USERNAME_NOT_PROVIDED | ('Username not provided', 'error') |
SECURITY_MSG_WEBAUTHN_CREDENTIAL_DELETED | ('Successfully deleted WebAuthn credential with name: %(name)s', 'info') |
SECURITY_MSG_WEBAUTHN_CREDENTIAL_ID_INUSE | ('WebAuthn credential id already registered.', 'error') |
SECURITY_MSG_WEBAUTHN_CREDENTIAL_WRONG_USAGE | ('Credential not registered for this use (first or secondary)', 'error') |
SECURITY_MSG_WEBAUTHN_EXPIRED | ('WebAuthn operation must be completed within %(within)s. Please start over.', 'error') |
SECURITY_MSG_WEBAUTHN_MISMATCH_USER_HANDLE | ("Credential user handle didn't match", 'error') |
SECURITY_MSG_WEBAUTHN_NAME_INUSE | ('%(name)s is already associated with a credential.', 'error') |
SECURITY_MSG_WEBAUTHN_NAME_NOT_FOUND | ('%(name)s not registered with current user.', 'error') |
SECURITY_MSG_WEBAUTHN_NAME_REQUIRED | ('Nickname for new credential is required.', 'error') |
SECURITY_MSG_WEBAUTHN_NO_VERIFY | ('Could not verify WebAuthn credential: %(cause)s.', 'error') |
SECURITY_MSG_WEBAUTHN_ORPHAN_CREDENTIAL_ID | ("WebAuthn credential doesn't belong to any user.", 'error') |
SECURITY_MSG_WEBAUTHN_REGISTER_SUCCESSFUL | ('Successfully added WebAuthn credential with name: %(name)s', 'info') |
SECURITY_MSG_WEBAUTHN_UNKNOWN_CREDENTIAL_ID | ('Unregistered WebAuthn credential id.', 'error') |
SECURITY_MULTI_FACTOR_RECOVERY_CODE_TTL | None |
SECURITY_MULTI_FACTOR_RECOVERY_CODES | False |
SECURITY_MULTI_FACTOR_RECOVERY_CODES_KEYS | None |
SECURITY_MULTI_FACTOR_RECOVERY_CODES_N | 5 |
SECURITY_MULTI_FACTOR_RECOVERY_CODES_TEMPLATE | 'security/mf_recovery_codes.html' |
SECURITY_MULTI_FACTOR_RECOVERY_CODES_URL | '/mf-recovery-codes' |
SECURITY_MULTI_FACTOR_RECOVERY_TEMPLATE | 'security/mf_recovery.html' |
SECURITY_MULTI_FACTOR_RECOVERY_URL | '/mf-recovery' |
SECURITY_OAUTH_BUILTIN_PROVIDERS | ['github', 'google'] |
SECURITY_OAUTH_ENABLE | False |
SECURITY_OAUTH_RESPONSE_URL | '/login/oauthresponse' |
SECURITY_OAUTH_START_URL | '/login/oauthstart' |
SECURITY_PASSWORD_BREACHED_COUNT | 1 |
SECURITY_PASSWORD_CHECK_BREACHED | False |
SECURITY_PASSWORD_COMPLEXITY_CHECKER | None |
SECURITY_PASSWORD_HASH | 'pbkdf2_sha512' |
SECURITY_PASSWORD_HASH_OPTIONS | {} |
SECURITY_PASSWORD_HASH_PASSLIB_OPTIONS | {'argon2__rounds': 10} |
SECURITY_PASSWORD_LENGTH_MIN | 8 |
SECURITY_PASSWORD_NORMALIZE_FORM | 'NFKD' |
SECURITY_PASSWORD_REQUIRED | True |
SECURITY_PASSWORD_SALT | 'C25mwDG8fiS%$aBw$vRK&y$gYrr^9Pm5!GoRd8hyejBFu9GzNTCToJW&%$EgDCSjH!xWvy7PWkSmx*U%AFL5PGk&8^4B#S2$ZZkzP9qXmAWzdT#qYfB8tEj4U7Jbr' |
SECURITY_PASSWORD_SCHEMES | ['bcrypt', 'argon2', 'des_crypt', 'pbkdf2_sha256', 'pbkdf2_sha512', 'sha256_crypt', 'sha512_crypt', 'plaintext'] |
SECURITY_PASSWORD_SINGLE_HASH | {'django_pbkdf2_sha1', 'plaintext', 'django_salted_md5', 'django_pbkdf2_sha256', 'django_bcrypt_sha256', 'django_salted_sha1', 'django_bcrypt', 'django_argon2', 'django_des_crypt'} |
SECURITY_PASSWORDLESS | False |
SECURITY_PHONE_REGION_DEFAULT | 'US' |
SECURITY_POST_CHANGE_VIEW | None |
SECURITY_POST_CONFIRM_VIEW | None |
SECURITY_POST_LOGIN_VIEW | '/' |
SECURITY_POST_LOGOUT_VIEW | '/' |
SECURITY_POST_REGISTER_VIEW | None |
SECURITY_POST_RESET_VIEW | None |
SECURITY_POST_VERIFY_VIEW | None |
SECURITY_RECOVERABLE | True |
SECURITY_REDIRECT_ALLOW_SUBDOMAINS | False |
SECURITY_REDIRECT_BEHAVIOR | None |
SECURITY_REDIRECT_HOST | None |
SECURITY_REDIRECT_VALIDATE_MODE | None |
SECURITY_REDIRECT_VALIDATE_RE | '^/{4,}|\\\\{3,}|[\\s\\000-\\037][/\\\\]{2,}' |
SECURITY_REGISTER_URL | '/register' |
SECURITY_REGISTER_USER_TEMPLATE | 'security/register_user.html' |
SECURITY_REGISTERABLE | True |
SECURITY_REMEMBER_SALT | 'remember-salt' |
SECURITY_REQUIRES_CONFIRMATION_ERROR_VIEW | None |
SECURITY_RESET_ERROR_VIEW | None |
SECURITY_RESET_PASSWORD_TEMPLATE | 'security/reset_password.html' |
SECURITY_RESET_PASSWORD_WITHIN | '5 days' |
SECURITY_RESET_SALT | 'reset-salt' |
SECURITY_RESET_URL | '/reset' |
SECURITY_RESET_VIEW | None |
SECURITY_RETURN_GENERIC_RESPONSES | False |
SECURITY_SEND_CONFIRMATION_TEMPLATE | 'security/send_confirmation.html' |
SECURITY_SEND_LOGIN_TEMPLATE | 'security/send_login.html' |
SECURITY_SEND_PASSWORD_CHANGE_EMAIL | True |
SECURITY_SEND_PASSWORD_RESET_EMAIL | True |
SECURITY_SEND_PASSWORD_RESET_NOTICE_EMAIL | True |
SECURITY_SEND_REGISTER_EMAIL | True |
SECURITY_SMS_SERVICE | 'Dummy' |
SECURITY_SMS_SERVICE_CONFIG | {'ACCOUNT_SID': None, 'AUTH_TOKEN': None, 'PHONE_NUMBER': None} |
SECURITY_STATIC_FOLDER | 'static' |
SECURITY_STATIC_FOLDER_URL | '/fs-static' |
SECURITY_SUBDOMAIN | None |
SECURITY_TOKEN_AUTHENTICATION_HEADER | 'Authentication-Token' |
SECURITY_TOKEN_AUTHENTICATION_KEY | 'auth_token' |
SECURITY_TOKEN_MAX_AGE | None |
SECURITY_TOTP_ISSUER | 'BUFR ZONE' |
SECURITY_TOTP_SECRETS | {'1': 'BjUwLD^uh3kdvpeEJwUS25g9%5nDdkD^u9$4YLR5o6abvxxmnSph&sR$!vjSUt$SBvmfe4eMUsNkL8fX#e*aZ3FMWHe!YJo%Vd&#N67qnKUYe6mnj9tMg4QJxwCS$'} |
SECURITY_TRACKABLE | True |
SECURITY_TWO_FACTOR | True |
SECURITY_TWO_FACTOR_ALWAYS_VALIDATE | False |
SECURITY_TWO_FACTOR_AUTHENTICATOR_VALIDITY | 120 |
SECURITY_TWO_FACTOR_ENABLED_METHODS | ['authenticator'] |
SECURITY_TWO_FACTOR_ERROR_VIEW | '.login' |
SECURITY_TWO_FACTOR_IMPLEMENTATIONS | {'code': 'flask_security.twofactor.CodeTfPlugin', 'webauthn': 'flask_security.webauthn.WebAuthnTfPlugin'} |
SECURITY_TWO_FACTOR_LOGIN_VALIDITY | '7 days' |
SECURITY_TWO_FACTOR_MAIL_VALIDITY | 300 |
SECURITY_TWO_FACTOR_POST_SETUP_VIEW | '.two_factor_setup' |
SECURITY_TWO_FACTOR_REQUIRED | False |
SECURITY_TWO_FACTOR_RESCUE_EMAIL | True |
SECURITY_TWO_FACTOR_RESCUE_MAIL | 'no-reply@localhost' |
SECURITY_TWO_FACTOR_RESCUE_URL | '/tf-rescue' |
SECURITY_TWO_FACTOR_SECRET | None |
SECURITY_TWO_FACTOR_SELECT_TEMPLATE | 'security/two_factor_select.html' |
SECURITY_TWO_FACTOR_SELECT_URL | '/tf-select' |
SECURITY_TWO_FACTOR_SETUP_TEMPLATE | 'security/two_factor_setup.html' |
SECURITY_TWO_FACTOR_SETUP_URL | '/tf-setup' |
SECURITY_TWO_FACTOR_SMS_SERVICE | 'Dummy' |
SECURITY_TWO_FACTOR_SMS_SERVICE_CONFIG | {'ACCOUNT_SID': None, 'AUTH_TOKEN': None, 'PHONE_NUMBER': None} |
SECURITY_TWO_FACTOR_SMS_VALIDITY | 120 |
SECURITY_TWO_FACTOR_TOKEN_VALIDATION_URL | '/tf-validate' |
SECURITY_TWO_FACTOR_URI_SERVICE_NAME | 'service_name' |
SECURITY_TWO_FACTOR_VALIDITY_COOKIE | {'httponly': True, 'secure': False, 'samesite': 'Strict'} |
SECURITY_TWO_FACTOR_VALIDITY_SALT | 'tf-validity-salt' |
SECURITY_TWO_FACTOR_VERIFY_CODE_TEMPLATE | 'security/two_factor_verify_code.html' |
SECURITY_UNAUTHORIZED_VIEW | None |
SECURITY_UNIFIED_SIGNIN | False |
SECURITY_URL_PREFIX | None |
SECURITY_US_EMAIL_SUBJECT | 'Verification Code' |
SECURITY_US_ENABLED_METHODS | ['password', 'email', 'authenticator', 'sms'] |
SECURITY_US_MFA_REQUIRED | ['password', 'email'] |
SECURITY_US_POST_SETUP_VIEW | '.us_setup' |
SECURITY_US_SETUP_SALT | 'us-setup-salt' |
SECURITY_US_SETUP_TEMPLATE | 'security/us_setup.html' |
SECURITY_US_SETUP_URL | '/us-setup' |
SECURITY_US_SETUP_WITHIN | '30 minutes' |
SECURITY_US_SIGNIN_REPLACES_LOGIN | False |
SECURITY_US_SIGNIN_SEND_CODE_URL | '/us-signin/send-code' |
SECURITY_US_SIGNIN_TEMPLATE | 'security/us_signin.html' |
SECURITY_US_SIGNIN_URL | '/us-signin' |
SECURITY_US_TOKEN_VALIDITY | 120 |
SECURITY_US_VERIFY_LINK_URL | '/us-verify-link' |
SECURITY_US_VERIFY_SEND_CODE_URL | '/us-verify/send-code' |
SECURITY_US_VERIFY_TEMPLATE | 'security/us_verify.html' |
SECURITY_US_VERIFY_URL | '/us-verify' |
SECURITY_USER_IDENTITY_ATTRIBUTES | [{'email': {'mapper': <function uia_email_mapper at 0x7fd35a0d6280>, 'case_insensitive': True}}] |
SECURITY_USERNAME_ENABLE | False |
SECURITY_USERNAME_MAX_LENGTH | 32 |
SECURITY_USERNAME_MIN_LENGTH | 4 |
SECURITY_USERNAME_NORMALIZE_FORM | 'NFKD' |
SECURITY_USERNAME_REQUIRED | False |
SECURITY_VERIFY_TEMPLATE | 'security/verify.html' |
SECURITY_VERIFY_URL | '/verify' |
SECURITY_WAN_ALLOW_AS_FIRST_FACTOR | True |
SECURITY_WAN_ALLOW_AS_MULTI_FACTOR | True |
SECURITY_WAN_ALLOW_AS_VERIFY | ['first', 'secondary'] |
SECURITY_WAN_ALLOW_USER_HINTS | True |
SECURITY_WAN_CHALLENGE_BYTES | None |
SECURITY_WAN_DELETE_URL | '/wan-delete' |
SECURITY_WAN_POST_REGISTER_VIEW | '.wan_register' |
SECURITY_WAN_REGISTER_TEMPLATE | 'security/wan_register.html' |
SECURITY_WAN_REGISTER_TIMEOUT | 60000 |
SECURITY_WAN_REGISTER_URL | '/wan-register' |
SECURITY_WAN_REGISTER_WITHIN | '30 minutes' |
SECURITY_WAN_RP_NAME | 'My Flask App' |
SECURITY_WAN_SALT | 'wan-salt' |
SECURITY_WAN_SIGNIN_TEMPLATE | 'security/wan_signin.html' |
SECURITY_WAN_SIGNIN_TIMEOUT | 60000 |
SECURITY_WAN_SIGNIN_URL | '/wan-signin' |
SECURITY_WAN_SIGNIN_WITHIN | '1 minutes' |
SECURITY_WAN_VERIFY_TEMPLATE | 'security/wan_verify.html' |
SECURITY_WAN_VERIFY_URL | '/wan-verify' |
SECURITY_WEBAUTHN | False |
SECURITY_ZXCVBN_MINIMUM_SCORE | 3 |
SEND_FILE_MAX_AGE_DEFAULT | None |
SERVER_NAME | None |
SESSION_COOKIE_DOMAIN | False |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'ospSession' |
SESSION_COOKIE_PATH | None |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_REDIS | Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>> |
SESSION_REFRESH_EACH_REQUEST | True |
SESSION_TYPE | 'redis' |
SQLALCHEMY_BINDS | None |
SQLALCHEMY_COMMIT_ON_TEARDOWN | False |
SQLALCHEMY_DATABASE_URI | 'mysql+pymysql://rdbu:W3G0tAcc355@localhost/bufrstreaming?charset=utf8mb4' |
SQLALCHEMY_ECHO | False |
SQLALCHEMY_ENGINE_OPTIONS | {'encoding': 'utf8', 'pool_use_lifo': 'False', 'pool_size': 10, 'pool_pre_ping': True} |
SQLALCHEMY_MAX_OVERFLOW | -1 |
SQLALCHEMY_NATIVE_UNICODE | None |
SQLALCHEMY_POOL_RECYCLE | 300 |
SQLALCHEMY_POOL_SIZE | None |
SQLALCHEMY_POOL_TIMEOUT | 600 |
SQLALCHEMY_RECORD_QUERIES | None |
SQLALCHEMY_TRACK_MODIFICATIONS | False |
TEMPLATES_AUTO_RELOAD | None |
TESTING | False |
TRAP_BAD_REQUEST_ERRORS | None |
TRAP_HTTP_EXCEPTIONS | False |
UPLOADED_DEFAULT_DEST | '/var/www/images' |
UPLOADED_PHOTOS_DEST | '/var/www/images' |
UPLOADED_STICKERS_DEST | '/var/www/images' |
USE_X_SENDFILE | False |
VIDEO_UPLOAD_EXTENSIONS | ['PNG', 'MP4'] |
VIDEO_UPLOAD_TEMPFOLDER | '/var/www/videos/temp' |
WEB_ROOT | '/var/www/' |
No template rendered
(ms) | Action | Context | Query |
---|---|---|---|
0.4437 |
SELECT EXPLAIN |
./app.py:864 (do_before_request) |
SELECT ip_list.id AS ip_list_id, ip_list.`ipAddress` AS `ip_list_ipAddress`, ip_list.reason AS ip_list_reason
FROM ip_list
WHERE ip_list.`ipAddress` = %(ipAddress_1)s
LIMIT %(param_1)s
|
5.0645 |
SELECT EXPLAIN |
./app.py:872 (do_before_request) |
SELECT `Guest`.id AS `Guest_id`, `Guest`.`UUID` AS `Guest_UUID`, `Guest`.last_active_at AS `Guest_last_active_at`, `Guest`.last_active_ip AS `Guest_last_active_ip`
FROM `Guest`
WHERE `Guest`.`UUID` = %(UUID_1)s
LIMIT %(param_1)s
|
4.6513 |
SELECT EXPLAIN |
./app.py:881 (do_before_request) |
SELECT `Guest`.id AS `Guest_id`, `Guest`.`UUID` AS `Guest_UUID`, `Guest`.last_active_at AS `Guest_last_active_at`, `Guest`.last_active_ip AS `Guest_last_active_ip`
FROM `Guest`
WHERE `Guest`.last_active_ip = %(last_active_ip_1)s
LIMIT %(param_1)s
|
0.2716 | ./app.py:892 (do_before_request) |
INSERT INTO `Guest` (`UUID`, last_active_at, last_active_ip) VALUES (%(UUID)s, %(last_active_at)s, %(last_active_ip)s)
|
|
2.0370 |
SELECT EXPLAIN |
<unknown> |
SELECT anon_1.user_id AS anon_1_user_id, anon_1.user_uuid AS anon_1_user_uuid, anon_1.user_username AS anon_1_user_username, anon_1.user_email AS anon_1_user_email, anon_1.user_fs_uniquifier AS anon_1_user_fs_uniquifier, anon_1.user_tf_primary_method AS anon_1_user_tf_primary_method, anon_1.user_tf_totp_secret AS anon_1_user_tf_totp_secret, anon_1.user_password AS anon_1_user_password, anon_1.user_biography AS anon_1_user_biography, anon_1.user_active AS anon_1_user_active, anon_1.user_confirmed_at AS anon_1_user_confirmed_at, anon_1.user_last_login_at AS anon_1_user_last_login_at, anon_1.user_current_login_at AS anon_1_user_current_login_at, anon_1.user_last_login_ip AS anon_1_user_last_login_ip, anon_1.user_current_login_ip AS anon_1_user_current_login_ip, anon_1.user_login_count AS anon_1_user_login_count, anon_1.`user_pictureLocation` AS `anon_1_user_pictureLocation`, anon_1.`user_authType` AS `anon_1_user_authType`, anon_1.`user_oAuthID` AS `anon_1_user_oAuthID`, anon_1.`user_oAuthProvider` AS `anon_1_user_oAuthProvider`, anon_1.`user_xmppToken` AS `anon_1_user_xmppToken`, anon_1.`user_emailVideo` AS `anon_1_user_emailVideo`, anon_1.`user_emailStream` AS `anon_1_user_emailStream`, anon_1.`user_emailMessage` AS `anon_1_user_emailMessage`, `OAuth2Token_1`.id AS `OAuth2Token_1_id`, `OAuth2Token_1`.name AS `OAuth2Token_1_name`, `OAuth2Token_1`.token_type AS `OAuth2Token_1_token_type`, `OAuth2Token_1`.access_token AS `OAuth2Token_1_access_token`, `OAuth2Token_1`.refresh_token AS `OAuth2Token_1_refresh_token`, `OAuth2Token_1`.expires_at AS `OAuth2Token_1_expires_at`, `OAuth2Token_1`.user AS `OAuth2Token_1_user`
FROM (SELECT user.id AS user_id, user.uuid AS user_uuid, user.username AS user_username, user.email AS user_email, user.fs_uniquifier AS user_fs_uniquifier, user.tf_primary_method AS user_tf_primary_method, user.tf_totp_secret AS user_tf_totp_secret, user.password AS user_password, user.biography AS user_biography, user.active AS user_active, user.confirmed_at AS user_confirmed_at, user.last_login_at AS user_last_login_at, user.current_login_at AS user_current_login_at, user.last_login_ip AS user_last_login_ip, user.current_login_ip AS user_current_login_ip, user.login_count AS user_login_count, user.`pictureLocation` AS `user_pictureLocation`, user.`authType` AS `user_authType`, user.`oAuthID` AS `user_oAuthID`, user.`oAuthProvider` AS `user_oAuthProvider`, user.`xmppToken` AS `user_xmppToken`, user.`emailVideo` AS `user_emailVideo`, user.`emailStream` AS `user_emailStream`, user.`emailMessage` AS `user_emailMessage`
FROM user
WHERE user.username = %(username_1)s
LIMIT %(param_1)s) AS anon_1 LEFT OUTER JOIN `OAuth2Token` AS `OAuth2Token_1` ON anon_1.user_id = `OAuth2Token_1`.user
|
No messages logged.
URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
---|---|---|---|---|
/ | root.main_page | GET, HEAD, OPTIONS | False | None |
/apiv1/ | api.doc | GET, HEAD, OPTIONS | False | None |
/apiv1/ | api.root | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/ | api.channel_api_1__list_channels | GET, HEAD, OPTIONS, POST | False | None |
/apiv1/channel/<string:channelEndpointID> | api.channel_api_1__list_channel | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
/apiv1/channel/<string:channelEndpointID>/invites | api.channel_api_1__invites | DELETE, GET, HEAD, OPTIONS, POST | False | None |
/apiv1/channel/<string:channelEndpointID>/restreams | api.channel_api_1__get_restreams | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/<string:channelEndpointID>/streams | api.channel_api_1__streams | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/activeChannels | api.channel_api_1__active_channels | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/authed/ | api.channel_api_1__list_channel_authed | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/hubChannels | api.channel_api_1_hub_channels | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/hubChannelsLive | api.channel_api_1__active_hub_channels | GET, HEAD, OPTIONS | False | None |
/apiv1/channel/search | api.channel_api_1__search_channels | OPTIONS, POST | False | None |
/apiv1/clip/ | api.clip_api_1__list_clips | GET, HEAD, OPTIONS | False | None |
/apiv1/clip/<int:clipID> | api.clip_api_1__list_clip | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
/apiv1/clip/search | api.clip_api_1__search_clips | OPTIONS, POST | False | None |
/apiv1/rtmp/playbackauth | api.rtmp_api_1_rtmp_playbackauth | OPTIONS, POST | False | None |
/apiv1/rtmp/reccheck | api.rtmp_api_1_rtmp_reccheck | OPTIONS, POST | False | None |
/apiv1/rtmp/recclose | api.rtmp_api_1_rtmp_recclose | OPTIONS, POST | False | None |
/apiv1/rtmp/stage1 | api.rtmp_api_1_rtmp_stage1 | OPTIONS, POST | False | None |
/apiv1/rtmp/stage2 | api.rtmp_api_1_rtmp_stage2 | OPTIONS, POST | False | None |
/apiv1/rtmp/streamclose | api.rtmp_api_1_rtmp_streamclose | OPTIONS, POST | False | None |
/apiv1/server/ | api.server_api_1__server | GET, HEAD, OPTIONS | False | None |
/apiv1/server/edges | api.server_api_1__edges | GET, HEAD, OPTIONS | False | None |
/apiv1/server/ping | api.server_api_1__ping | GET, HEAD, OPTIONS | False | None |
/apiv1/server/rtmp | api.server_api_1__rtmp | DELETE, GET, HEAD, OPTIONS, POST | False | None |
/apiv1/stream/ | api.stream_api_1__list_streams | GET, HEAD, OPTIONS | False | None |
/apiv1/stream/<int:streamID> | api.stream_api_1__list_stream | GET, HEAD, OPTIONS, PUT | False | None |
/apiv1/stream/search | api.stream_api_1__search_streams | OPTIONS, POST | False | None |
/apiv1/swagger.json | api.specs | GET, HEAD, OPTIONS | False | None |
/apiv1/topic/ | api.topic_api_1__list_topics | GET, HEAD, OPTIONS | False | None |
/apiv1/topic/<int:topicID> | api.topic_api_1__list_topic | GET, HEAD, OPTIONS | False | None |
/apiv1/topic/search | api.topic_api_1__search_topics | OPTIONS, POST | False | None |
/apiv1/user/ | api.user_api_1__admin_user | DELETE, GET, HEAD, OPTIONS, POST | False | None |
/apiv1/user/<string:username> | api.user_api_1__list_user | GET, HEAD, OPTIONS | False | None |
/apiv1/user/role | api.user_api_1__role_mgmt | DELETE, OPTIONS, POST | False | None |
/apiv1/user/search | api.user_api_1__search_users | OPTIONS, POST | False | None |
/apiv1/video/ | api.video_api_1__list_videos | GET, HEAD, OPTIONS | False | None |
/apiv1/video/<int:videoID> | api.video_api_1__list_video | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
/apiv1/video/search | api.video_api_1__search_videos | OPTIONS, POST | False | None |
/apiv1/xmpp/auth | api.xmpp_api_1_xmpp_auth | OPTIONS, POST | False | None |
/apiv1/xmpp/isuser | api.xmpp_api_1_xmppisuser | OPTIONS, POST | False | None |
/auth | root.auth_check | GET, HEAD, OPTIONS, POST | False | None |
/c/<vanityURL> | root.vanityURL_channel_link | GET, HEAD, OPTIONS | False | None |
/c/<vanityURL>/live | root.vanityURL_live_link | GET, HEAD, OPTIONS | False | None |
/channel/ | channel.channels_page | GET, HEAD, OPTIONS | False | None |
/channel/<int:chanID>/ | channel.channel_view_page | GET, HEAD, OPTIONS | False | None |
/channel/<loc>/stream | channel.channel_stream_link_page | GET, HEAD, OPTIONS | False | None |
/channel/link/<channelLoc>/ | channel.channel_view_link_page | GET, HEAD, OPTIONS | False | None |
/clip/<clipID> | clip.view_clip_page | GET, HEAD, OPTIONS | False | None |
/clip/<clipID>/change | clip.clip_change_page | OPTIONS, POST | False | None |
/clip/<clipID>/delete | clip.delete_clip_page | GET, HEAD, OPTIONS | False | None |
/confirm | security.send_confirmation | GET, HEAD, OPTIONS, POST | False | None |
/confirm/<token> | security.confirm_email | GET, HEAD, OPTIONS, POST | False | None |
/fs-static/<path:filename> | security.static | GET, HEAD, OPTIONS | False | None |
/login | security.login | GET, HEAD, OPTIONS, POST | False | None |
/logout | security.logout | GET, HEAD, OPTIONS, POST | False | None |
/m3u8/stream/index.m3u8 | m3u8.get_stream_index | GET, HEAD, OPTIONS | False | None |
/m3u8/video/index.m3u8 | m3u8.get_all_video_index | GET, HEAD, OPTIONS | False | None |
/messages | root.messages_page | GET, HEAD, OPTIONS | False | None |
/notifications | root.notification_page | GET, HEAD, OPTIONS | False | None |
/oauth/authorize/<provider> | oauth.oAuthAuthorize | GET, HEAD, OPTIONS | False | None |
/oauth/convert/<provider> | oauth.oAuthConvert | OPTIONS, POST | False | None |
/oauth/login/<provider> | oauth.oAuthLogin | GET, HEAD, OPTIONS | False | None |
/p/<static_page> | root.render_staticPage | GET, HEAD, OPTIONS | False | None |
/play/<videoID> | play.view_vid_page | GET, HEAD, OPTIONS | False | None |
/play/<videoID>/change | play.vid_change_page | OPTIONS, POST | False | None |
/play/<videoID>/clip | play.vid_clip_page | OPTIONS, POST | False | None |
/play/<videoID>/comment | play.comments_vid_page | GET, HEAD, OPTIONS, POST | False | None |
/play/<videoID>/delete | play.delete_vid_page | GET, HEAD, OPTIONS | False | None |
/play/<videoID>/move | play.vid_move_page | OPTIONS, POST | False | None |
/profile/<username> | profile.profile_view_page | GET, HEAD, OPTIONS | False | None |
/proxy-adapt/<channelLoc>.m3u8 | root.proxy_adaptive_redirect | GET, HEAD, OPTIONS | False | None |
/proxy-adapt/<channelLoc>/<file> | root.proxy_adaptive_subfolder_redirect | GET, HEAD, OPTIONS | False | None |
/proxy/<channelLoc>/<file> | root.proxy_redirect | GET, HEAD, OPTIONS | False | None |
/register | security.register | GET, HEAD, OPTIONS, POST | False | None |
/reset | security.forgot_password | GET, HEAD, OPTIONS, POST | False | None |
/reset/<token> | security.reset_password | GET, HEAD, OPTIONS, POST | False | None |
/robots.txt | root.static_from_root | GET, HEAD, OPTIONS | False | None |
/rtmpCheck | root.rtmp_check | GET, HEAD, OPTIONS, POST | False | None |
/search | root.search_page | GET, HEAD, OPTIONS, POST | False | None |
/settings/admin | settings.admin_page | GET, HEAD, OPTIONS, POST | False | None |
/settings/admin/create_test_task | settings.createtestask | GET, HEAD, OPTIONS | False | None |
/settings/admin/features | settings.admin_devFeatures | GET, HEAD, OPTIONS | False | None |
/settings/admin/rtmpstat/<node> | settings.rtmpStat_page | GET, HEAD, OPTIONS | False | None |
/settings/admin/run_task/<task> | settings.run_task | GET, HEAD, OPTIONS | False | None |
/settings/api | settings.settings_apikeys_page | GET, HEAD, OPTIONS | False | None |
/settings/api/<string:action> | settings.settings_apikeys_post_page | OPTIONS, POST | False | None |
/settings/channels | settings.settings_channels_page | GET, HEAD, OPTIONS, POST | False | None |
/settings/channels/chat | settings.settings_channels_chat_page | GET, HEAD, OPTIONS, POST | False | None |
/settings/channels/streamKey | settings.settings_channel_new_stream_key | OPTIONS, POST | False | None |
/settings/initialSetup | settings.initialSetup | OPTIONS, POST | False | None |
/settings/user | settings.user_page | GET, HEAD, OPTIONS, POST | False | None |
/settings/user/addInviteCode | settings.user_addInviteCode | GET, HEAD, OPTIONS | False | None |
/settings/user/deleteSelf | settings.user_delete_own_account | OPTIONS, POST | False | None |
/settings/user/subscriptions | settings.subscription_page | GET, HEAD, OPTIONS | False | None |
/static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
/streamer/ | streamers.streamers_page | GET, HEAD, OPTIONS | False | None |
/streamer/<userID>/ | streamers.streamers_view_page | GET, HEAD, OPTIONS | False | None |
/sw.js | root.static_from_root_sw | GET, HEAD, OPTIONS | False | None |
/swaggerui/<path:filename> | restx_doc.static | GET, HEAD, OPTIONS | False | None |
/tf-rescue | security.two_factor_rescue | GET, HEAD, OPTIONS, POST | False | None |
/tf-select | security.tf_select | GET, HEAD, OPTIONS, POST | False | None |
/tf-setup | security.two_factor_setup | GET, HEAD, OPTIONS, POST | False | None |
/tf-validate | security.two_factor_token_validation | GET, HEAD, OPTIONS, POST | False | None |
/topic/ | topic.topic_page | GET, HEAD, OPTIONS | False | None |
/topic/<topicID>/ | topic.topic_view_page | GET, HEAD, OPTIONS | False | None |
/u/<username> | root.vanityURL_username_link | GET, HEAD, OPTIONS | False | None |
/unsubscribe | root.unsubscribe_page | GET, HEAD, OPTIONS | False | None |
/upload/video-details | upload.upload_vid | OPTIONS, POST | False | None |
/upload/video-files | upload.upload | GET, HEAD, OPTIONS, POST | False | None |
/verify | security.verify | GET, HEAD, OPTIONS, POST | False | None |
/view/<loc>/ | liveview.view_page | GET, HEAD, OPTIONS | False | None |
/xmpp | root.xmpp_proxy | DELETE, GET, HEAD, OPTIONS, POST | False | None |
Key | Value |
---|---|
_login_user | <flask_security.core.AnonymousUser object at 0x7fd354d6f790> |
debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7fd356960a00> |
identity | <AnonymousIdentity id="None" auth_type="None" provides=set()> |
view_rate_limit | None |